class Solution {
fun maxSubArray(nums: IntArray): Int {
var maxSoFar = nums[0]
var curr = nums[0]
for (i in 1 until nums.size) {
curr = maxOf(nums[i], curr + nums[i])
maxSoFar = maxOf(maxSoFar, curr)
}
return maxSoFar
}
}